package cn.yza.设计模式.代理模式.动态代理.demo2;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Proxy;

/**
 * @author Honglixi
 * @create 2021-11-01 20:28
 */
public class MainShop {
    public static void main(String[] args) {
        //1.创建目标对象
        UsbSell factory = new UsbFactory();
        //创建增强后的对象
        InvocationHandler handler = new MySellHandler(factory);
        //3.创建代理对象
        UsbSell proxy = (UsbSell) Proxy.newProxyInstance(factory.getClass().getClassLoader(),
                factory.getClass().getInterfaces(),
                handler);
        //通过代理执行方法
//        float sell = proxy.sell(3);
//        proxy.sayHello();
        float sell = proxy.sell(10);
        System.out.println(sell);
//        System.out.println(a);
//        System.out.println("这是动态代理获取的" + sell);
    }
}
